Package-level declarations
Types
An agentic tool that uses an LLM to orchestrate other tools.
Destination for captured artifacts from tool results.
Factory interface for creating artifact-sinking tool decorators. Extended by Tool.Companion to provide Tool.sinkArtifacts, Tool.publishToBlackboard, etc.
Tool decorator that captures artifacts from tool results, filters and transforms them, then sends to one or more sinks.
Sink that publishes artifacts to the current AgentProcess blackboard.
Sink that delegates to multiple sinks.
Tool decorator that executes the wrapped tool, then conditionally triggers replanning based on the result.
Interface for tool decorators that wrap another tool. Enables unwrapping to find the underlying tool implementation. Thus, it is important that tool wrappers implement this interface to allow unwrapping.
Sink that collects artifacts into a mutable list.
A tool that contains other tools, enabling progressive tool disclosure.
Factory interface for creating tools from annotated methods. Extended by Tool.Companion to provide Tool.fromMethod, Tool.fromInstance, etc.
Context provided to ReplanDecider for making replanning decisions.
Functional interface for deciding whether to trigger replanning based on tool results.
Decision returned by ReplanDecider to indicate whether replanning is needed.
Tool decorator that executes the wrapped tool, adds its result to the blackboard, then throws ReplanRequestedException to terminate the tool loop and trigger replanning.
Callback to update the blackboard with tool result content. Defined as a fun interface for Java interoperability.
Factory interface for creating replanning tool decorators. Extended by Tool.Companion to provide Tool.replanAlways, Tool.replanWhen, etc.
Create a system prompt given the current AgentProcess as context.
Marker interface for exceptions that represent control flow signals rather than errors. These exceptions are allowed to propagate through TypedTool.call without being caught and converted to error results.
Holds one or more annotated tool objects. Adds a naming strategy and a filter to the overall object.
InputSchema implementation that generates JSON schema from a Class type. Uses reflection to extract properties and their types.
Tool with strongly typed input and output. Handles JSON marshaling automatically, allowing you to work with domain objects directly.
Factory interface for creating strongly typed tools. Extended by Tool.Companion to provide Tool.fromFunction methods.
Functions
Kotlin-friendly extension for creating typed tools with reified type parameters.